package com.xjc.business.service;

import com.xjc.business.entity.domain.SchoolAdmins;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjc.business.entity.po.schadmin.SchAdminLoginPo;
import com.xjc.business.entity.po.schadmin.SchAdminRegisterPo;
import com.xjc.business.entity.vo.PageVo;
import com.xjc.business.entity.vo.schadmin.SchAdminLoginVo;
import com.xjc.business.entity.vo.sysadmin.PersonVo;
import com.xjc.system.result.Result;

import java.util.List;

/**
* @author root
* @description 针对表【school_admins(学校管理员表)】的数据库操作Service
* @createDate 2025-01-25 10:24:32
*/
public interface SchoolAdminsService extends IService<SchoolAdmins> {

    /**
     * 注册
     * @param schAdminRegisterPo 注册信息
     * @return 反馈
     */
    Result<String> doRegister(SchAdminRegisterPo schAdminRegisterPo);

    /**
     * 登录
     * @param schAdminLoginPo 登录参数
     * @return 登录成功返回token，失败返回错误信息
     */
    Result<SchAdminLoginVo> doLogin(SchAdminLoginPo schAdminLoginPo);

    /**
     * 分页查询学校管理员
     * @param pageSize 每页条数
     * @param currentPage 当前页码
     * @param username 用户名
     * @param nickname 昵称
     * @param status 状态
     * @return 数据
     */
    Result<PageVo<PersonVo>> getPersonPage(Integer pageSize, Integer currentPage, String username, String nickname, Integer status);
}
